/*
 *  Backpack.h
 *  NiNJA
 *
 *  Created by waver on 09-11-6.
 *  Copyright 2009 __MyCompanyName__. All rights reserved.
 *
 */

#import "VariableDefine.h"
#import "TypeRedefine.h"
#import <map>

typedef map<ItemsName,ItemInfor>::iterator m_shop_it;
/*!
    @class		Backpack
    @abstract    商店抽象类
    @discussion  用来描述商店的抽象类,类提供了加入商品,检索商品信息等功能.
*/

class Shop{
	
protected:
	
	map<ItemsName,ItemInfor> ItemsStore;
	
public:
	
	/*!
    @method     addNewItems
    @abstract   给商店加入新的物品
    @discussion 给商店加入新的物品,包含物品的名字和加入的数量
*/
	virtual void AddNewItems(ItemInfor item_add) = 0;
	
	
	/*!
    @method     selectItemCountInShop
    @abstract   检索商品数量
    @discussion 此方法用来搜索商店中某种商品的库存量.
*/
	virtual int  SelectItemCountInShop(ItemsName item_name) = 0;
	
	
	/*!
    @method     selectItemPriceInShop
    @abstract   检索商品价格
    @discussion 此方法用来搜索商店中某种商品的价格.
*/
	virtual int  SelectItemPriceInShop(ItemsName item_name) = 0;
	
	
	/*!
    @method     buyItemInShop
    @abstract   购买商品
    @discussion 此方法用来购买商品,点击购买后,将从商店的库存中减去购买的数量.
*/

	virtual bool BuyItemInShop(ItemsName item_name,int item_num) = 0;
	
	
};